package com.syp.lease.web.admin.service.impl;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.syp.lease.model.entity.UserInfo;
import com.syp.lease.web.admin.service.UserInfoService;
import com.syp.lease.web.admin.mapper.UserInfoMapper;
import com.syp.lease.web.admin.vo.user.UserInfoQueryVo;
import org.springframework.stereotype.Service;

/**
 * 用户信息服务实现类
 */
@Service
public class UserInfoServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo>
        implements UserInfoService {

    /**
     * 根据查询条件分页获取用户信息
     *
     * @param page    分页对象，包含页码和每页数量等信息
     * @param queryVo 查询条件封装对象，包括电话号码和用户状态等条件
     * @return 返回封装了用户信息的分页对象
     */
    @Override
    public IPage<UserInfo> pageUserInfoByQuery(Page<UserInfo> page, UserInfoQueryVo queryVo) {
        // 根据查询条件进行分页查询
        Page<UserInfo> list = lambdaQuery().like(queryVo.getPhone() != null, UserInfo::getPhone, queryVo.getPhone())
                .eq(queryVo.getStatus() != null, UserInfo::getStatus, queryVo.getStatus())
                .page(page);
        return list;
    }
}
